[アップデート] EC2 インスタンスの状態をいい感じにマップ表示!CloudWatch Resource Health が追加されました
コンバンハ、千葉(幸)です。
CloudWatchの新機能、Resource Health が発表されました。
まずは以下を見てください。なんかめっちゃいい感じで EC2 インスタンスの CPU 使用率を表示してくれています。
(Introducing CloudWatch Resource Health to monitor your EC2 hosts | AWS Management & Governance Blogより)
とてもワクワクしますね。
で、 Resource Health でできるとことはおおむね以上ですべてです。
AWS マネジメントコンソールで以下を実現できる新たなコンソールが提供された、と考えるとわかりやすいかもしれません。
- いくつかの観点でインスタンスを一覧表示(マップ、リスト)できる
- インスタンスの詳細画面で、関連づく以下リソースのメトリクスも一緒に表示できる
- ELB
- EBS
- Auto Scaling Group
料金は発生しませんし、新たなリソースの作成も伴いません。
「なんかまた新機能出て追い切れないな……」と思ったあなた、大丈夫です。簡単です。でも眺めるのは楽しいです。とりあえず触ってみて完全に理解しましょう。
前提条件
Resource Health は特別な操作(有効化、オプトインなど)は不要ですぐ使い始められます。
ただ、コンソールを操作する際の権限は考慮が必要です。以下の権限を有していることで、すべての Resource Health の機能を使用できます。
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "autoscaling:Describe*", "cloudwatch:Describe*", "cloudwatch:Describe*", "cloudwatch:Get*", "cloudwatch:List*", "logs:Get*", "logs:Describe*", "sns:Get*", "sns:List*", "ec2:DescribeInstances", "ec2:DescribeInstanceStatus", "ec2:DescribeRegions" ], "Effect": "Allow", "Resource": "*" } ] }
これより少なくても機能は使用できますが、一部のデータの表示で制限を受ける可能性があります。ReadOnlyAccess
が付与されていれば問題ありません。
とにかく見てみよう
CloudWatch サービス画面から Resource Health を選択しましょう。もう見えます。
画面上部でできる設定
画面上部では以下の操作が可能です。
- 表示形式の切り替え
- しきい値と色の設定
- 画面更新の設定
- 全画面表示
全画面表示は説明するまでもないので、他の三つを取り上げます。
表示形式の切り替え
マップ形式についてはこの後も取り上げるので、簡単にリスト形式の紹介をしておきます。
リスト形式では以下のようにインスタンスの一覧を表示できます。
列の項目は以下の通りで、カスタマイズはできません。
- インスタンス名
- インスタンス ID
- CPU 使用率
- メモリ使用率(カスタムメトリクスとして取得できている必要あり)
- インスタンスタイプ
- ステータスチェック
- インスタンスの状態
- アベイラビリティゾーン
EC2 インスタンスのコンソール画面から確認できるのと似た内容ですが、CPU やメモリの使用率を含められるのはここならではですね。
しきい値と色の設定
CPU 使用率とメモリ使用率について、マップ表示で表される色をカスタマイズできます。
画面の更新
リロードボタンを押せば手動での更新ができますし、自動更新の間隔として以下を設定できます。
- オフ(デフォルト)
- 10 秒
- 1 分
- 2 分
- 5 分
- 15 分
ビューのカスタマイズ
マップ形式の場合、画面左側から様々なカスタマイズができます。
色付け条件
以下のいずれかからマップに表示する内容を切り替えできます。
- CPU 使用率
- メモリ使用率
- ステータスチェック
- なし
条件を切り替えれば色の凡例を一緒に表示してくれるので迷うこともありません。
アラームの表示
チェックを入れることで、マップ上にアラーム状態のインスタンスを表示できます。
手元の環境で該当するものがなかったため、冒頭のブログから再び引用します。以下のようにマークがついていることがわかります。
グルーピング
以下の条件でマップをグルーピングできます。
- アベイラビリティゾーン
- VPC
- Auto Scaling グループ
- インスタンスタイプ
- イメージ ID
- CPU アーキテクチャ
- インスタンスの状態
- インスタンスのライフライサイクル
例えばインスタンスタイプでグルーピングした際のイメージは以下です。
フィルター条件
以下の条件でフィルタリングできます。
- Auto Scaling グループ
- アベイラビリティゾーン
- CPU 使用率
- EBS ボリューム
- インスタンスタイプ
- インスタンスのライフサイクル
- ロードバランサー
- メモリ使用率
- セキュリティグループ
- インスタンスの状態
- ステータスチェック
- タグ
項目を選択すると値の候補が表示されるため、選択することでフィルタリングがかかります。複数条件を設定することもできます。
並び替え条件
並び替えに使用する属性を以下から選択できます。
- ステータスチェック
- 状態
- メモリ
- CPU
- アラーム状態のアラーム
左から順に並び替えられます。デフォルトでは昇順で、降順に切り替えることもできます。(画面上部に切り替えボタンあり。)
以下は CPU 使用率が少ない順に左上から並んでいる例です。(データなしは末尾)
インスタンスのダッシュボード表示
マップ上のインスタンスを選択すると、詳細画面が開きます。
各種情報が確認できるほか、ここからのフィルタリング操作や、EC2 インスタンスサービス画面でのインスタンス詳細画面に遷移することもできます。
CloudWatch Resource Health のインスタンス個別のダッシュボードに遷移する場合は、「ダッシュボードを表示」を押下します。
以下のようなインスタンス個別のダッシュボードが表示されます。
ダッシュボード画面上部の設定
取り立てて新しい部分はありませんが、以下部分について触れておきます。
settings.overrides.messagesLabel.singular
という難しい言葉が書かれていますが、英語に切り替えると単に「 1 message」とだけ表示されています。
押下するとメッセージが開きますが、その内容も「詳細モニタリングが有効じゃない」というシンプルなもので、有効化するための設定画面へのリンクボタンが用意されているのみです。日本語表示だとうまく表示できていないだけのようなので、ここは追々対応するのを待ちましょう。
詳細モニタリングが有効なインスタンスの場合、この表示自体がありません。
関連リソースのメトリクスの追加
対象のインスタンスに関連づく以下リソースが存在する場合、チェックボックスで選択することでそのリソースのデータをダッシュボードに追加できます。
- ELB
- EBS
- Auto Scaling Group
ありそうでなかった、ちょっと嬉しい機能ですね。
その他関連情報
ダッシュボードを下にスクロールしていくと、以下の情報が記載されています。
- インスタンスが所属するアベイラビリティゾーンでフィルタリングされたマップ
- インスタンスの概要
まぁこのあたりは……はい、普通ですね。もちろん情報として嬉しいものです。
ここでのマップのフィルタリング条件としてアベイラビリティゾーン以外のもの、例えば「同じサブネットに属するインスタンス」などでフィルタリングできるとより便利そうですね。というフィードバックを送ってみました。
皆さんも使用する上で改善ポイントが思い浮かんだらフィードバックしてみてはいかがでしょうか。
終わりに
CloudWatch の新機能、Resource Health の確認でした。
取り立てて追加の設定も利用料も不要、新たな観点でインスタンス群をモニタリングできるようになった便利コンソール、という理解をしました。
特に規模が大きい環境では、状態を一元で視覚化できるのは嬉しいのではないでしょうか。
ところどころ表示の意味がわかりづらいな……と思った部分は英語に切り替えると分かりやすい表現に置き換わったので、初見で意味が分からない箇所があったら言語を切り替えたり、フィードバックすることをおすすめします。
以上、千葉(幸)がお送りしました。